home *** CD-ROM | disk | FTP | other *** search
/ Megahits 6 / Megahits 6 (1995)(GTI - Rhein-Main-Soft)(DE)(Disc 2 of 2)[!].iso / time_ungepackt / time_361_390 / time_367 / masken.lzh / PicBase / PicBasePBM.rexx < prev    next >
OS/2 REXX Batch file  |  1994-11-23  |  3KB  |  85 lines

  1. /****************************************************************************
  2.  ARexx Skript zur automatischen Erzeugung von Thumbnails mit PBMplus und
  3.  anschliessender Übername der Daten in DataBase.
  4.  
  5.  Dazu muß   - DataBase laufen und die 'picbasePBM.db' Datei geladen sein
  6.  
  7.  Das ARexx Skript sollte durch das Skript 'PictureBasePBM' aufgerufen werden.
  8.  02.09.94, Jörg Richter
  9. *****************************************************************************/
  10.  
  11. PARSE ARG argline
  12. PARSE VAR argline path source bild length DB .
  13. /*
  14.    path   = Pfad für das erzeugte Thumbnail
  15.    source = Quellpfad der Bilder
  16.    bild   = Pfad und Name des eigentlichenen Bildes
  17.    length = Dateilänge des Bildes
  18.    DB     = Pfad von Database
  19. */
  20.  
  21. OPTIONS RESULTS
  22.  
  23. DIAsize = 120  /* Vorschaugröße */
  24.  
  25. IF RIGHT(path,1) ~= "/" THEN DO
  26.   IF RIGHT(path,1) ~= ":" THEN
  27.     path = path || "/"
  28. END
  29.  
  30. path = path || DelStr(bild,1,Length(source))
  31.  
  32. pos = MAX(LastPos("/",bild),LastPos(":",bild))+1
  33. bildname = SubStr(bild,pos,Length(bild)-pos+1)    /* Bildname ermitteln */
  34.  
  35. path = SubStr(path,1,Length(path)-Length(bildname))
  36.  
  37. IF Exists(path || bildname) = 1 THEN /* Falls Thumbnail schon existiert */
  38.   EXIT                           /* weiter mit nächsten Bild        */
  39.  
  40. ADDRESS DataBase
  41. Message "Bearbeite " || bild || " ..."
  42.  
  43. ADDRESS COMMAND
  44.  
  45. 'PBMBIN:filetype ' || bild
  46. type = RC
  47.  
  48. IF type >= 10 THEN
  49.   EXIT
  50. IF type = 0 THEN
  51.   'PBMBIN:ilbmtoppm > JPEGTMP:t.ppm ' || bild
  52. IF type = 1 THEN
  53.   'PBMBIN:giftopnm > JPEGTMP:t.ppm ' || bild
  54. IF type = 2 THEN
  55.   'PBMBIN:Djpeg > JPEGTMP:t.ppm ' || bild
  56.  
  57. ADDRESS
  58. bool = Open(file,'JPEGTMP:t.ppm',R)
  59. str = ReadLn(file)
  60. str = ReadLn(file)
  61. width = WORD(str,1)
  62. height = WORD(str,2)
  63. bool = Close(file)
  64. ADDRESS COMMAND
  65.  
  66. 'PBMBIN:pnmscale > JPEGTMP:s.ppm -xysize ' || DIAsize || ' ' || DIAsize || ' JPEGTMP:t.ppm'
  67. 'C:Delete > NIL: JPEGTMP:t.ppm'
  68. 'PBMBIN:ppmtoilbm > ' || path || bildname || ' -fs -mp 8 -map PBMBIN:cmap.ppm JPEGTMP:s.ppm'
  69. 'C:Delete > NIL: JPEGTMP:s.ppm'
  70.  
  71. ADDRESS DataBase
  72.  
  73. Add                                 /* neuen Datensatz hinzufügen          */
  74. PutData $F1 bild                    /* Orginalbildname und -pfad in Feld 1 */
  75. PutData $F2 length                  /* Dateilänge des Bildes in Feld 2     */
  76. PutData $F3 width || "x" || height  /* Bildbreite und -höhe in Feld 3      */
  77. IF Compare(UPPER(DB),UPPER(SubStr(path,1,Length(DB)))) = 0 THEN
  78.   path = DelStr(path,1,Length(DB)+1)
  79.  
  80. PutData $F4 path || bildname        /* Pfad/Name des Thumbnails in Feld 4  */
  81.                                     /* Falls der Pfad teilweise mit dem    */
  82.                                     /* Pfad von DataBase übereinstimmt,    */
  83.                                     /* wird dieser Teil vorher einfernt    */
  84.  
  85.